package com.xyy.saas.payment.cores.vo;

import com.xyy.saas.payment.cores.enums.ChannelEnum;
import com.xyy.saas.payment.cores.enums.PayModeEnum;

import java.io.Serializable;

/**
 * 签约
 */
public class EntrustVO implements Serializable {

    private static final long serialVersionUID = 1834089352673868581L;

    /**
     * 业务线标识--支付平台分配
     */
    private String businessType;

    /**
     * 业务订单类型--支付平台分配
     */
    private String businessOrderType;

    /**
     * 业务方用户id
     */
    private String businessUserId;

    /**
     * 调用方标识--支付平台分配，用于验签
     */
    private String invoker;

    /**
     * 签约成功，解约后回调业务地址--ykq
     */
    private String callback;

    /**
     * 支付渠道
     */
    private ChannelEnum channel;

    /**
     * 签约方式--支付平台分配
     */
    private PayModeEnum signMode;

    /**
     * 签约用户ID--签约C端用户在业务侧唯一标识
     */
    private String signUserId;

    /**
     * 签约单号--一个签约用户针对一个签约单号可签约一次（多账号签约能力），业务侧可传保单号
     */
    private String signOrderNo;

    /**
     * 签约模板ID--微信支付平台获取
     */
    private String planId;

    /**
     * 客户端ip地址
     */
    private String clientIp;

    /**
     * 签约用户的名称--签约用户的名称，用于页面展示，参数值不支持UTF8非3字节编码的字符
     */
    private String contractDisplayAccount;

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public String getInvoker() {
        return invoker;
    }

    public void setInvoker(String invoker) {
        this.invoker = invoker;
    }

    public String getCallback() {
        return callback;
    }

    public void setCallback(String callback) {
        this.callback = callback;
    }

    public PayModeEnum getSignMode() {
        return signMode;
    }

    public void setSignMode(PayModeEnum signMode) {
        this.signMode = signMode;
    }

    public String getSignUserId() {
        return signUserId;
    }

    public void setSignUserId(String signUserId) {
        this.signUserId = signUserId;
    }

    public String getSignOrderNo() {
        return signOrderNo;
    }

    public void setSignOrderNo(String signOrderNo) {
        this.signOrderNo = signOrderNo;
    }

    public String getPlanId() {
        return planId;
    }

    public void setPlanId(String planId) {
        this.planId = planId;
    }

    public String getContractDisplayAccount() {
        return contractDisplayAccount;
    }

    public void setContractDisplayAccount(String contractDisplayAccount) {
        this.contractDisplayAccount = contractDisplayAccount;
    }

    public ChannelEnum getChannel() {
        return channel;
    }

    public void setChannel(ChannelEnum channel) {
        this.channel = channel;
    }

    public String getBusinessOrderType() {
        return businessOrderType;
    }

    public void setBusinessOrderType(String businessOrderType) {
        this.businessOrderType = businessOrderType;
    }

    public String getBusinessUserId() {
        return businessUserId;
    }

    public void setBusinessUserId(String businessUserId) {
        this.businessUserId = businessUserId;
    }

    public String getClientIp() {
        return clientIp;
    }

    public void setClientIp(String clientIp) {
        this.clientIp = clientIp;
    }
}
